<html>
<head><meta charset="utf-8"><title>New contributor · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html">New contributor</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="194564811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194564811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194564811">(Apr 18 2020 at 21:36)</a>:</h4>
<p>Hello everyone! I am new to all of this but i've started contributing to the compiler recently and i'd like to discover chalk as well :) I looked at "good first issue" in github but there is only one issue not claimed about unwind safety.</p>



<a name="194564826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194564826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194564826">(Apr 18 2020 at 21:37)</a>:</h4>
<p>Is there anything "relatively" easy that I could help you with?</p>



<a name="194564986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194564986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194564986">(Apr 18 2020 at 21:41)</a>:</h4>
<p>Like a refactor issue or something where you can learn about the project while doing it</p>



<a name="194565200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565200">(Apr 18 2020 at 21:47)</a>:</h4>
<p>chalk/#260 is not that complicated, there also was a recent thread about issues</p>



<a name="194565266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565266">(Apr 18 2020 at 21:48)</a>:</h4>
<p><a href="#narrow/stream/144729-wg-traits/topic/more.20issues" title="#narrow/stream/144729-wg-traits/topic/more.20issues">that</a> and <br>
<a href="#narrow/stream/144729-wg-traits/topic/more.20sprint.20issues" title="#narrow/stream/144729-wg-traits/topic/more.20sprint.20issues">that</a></p>



<a name="194565335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565335">(Apr 18 2020 at 21:50)</a>:</h4>
<p>haha so i don't understand how it happened, but first link points to <a href="http://this" title="http://this">http://this</a> and second to <a href="http://that" title="http://that">http://that</a> :D</p>



<a name="194565721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565721">(Apr 18 2020 at 21:59)</a>:</h4>
<p>Hi <span class="user-mention" data-user-id="281572">@marmeladema</span></p>



<a name="194565772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565772">(Apr 18 2020 at 22:00)</a>:</h4>
<p>As <span class="user-mention" data-user-id="251766">@Areredify</span> said, <a href="https://github.com/rust-lang/chalk/issues/260" title="https://github.com/rust-lang/chalk/issues/260">rust-lang/chalk#260</a> is pretty easy to start with</p>



<a name="194565773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565773">(Apr 18 2020 at 22:00)</a>:</h4>
<p>Hello!</p>



<a name="194565777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565777">(Apr 18 2020 at 22:00)</a>:</h4>
<p>(that reminds me that I should write some mentoring notes there)</p>



<a name="194565802"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565802" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565802">(Apr 18 2020 at 22:00)</a>:</h4>
<p>As far as other things, let me look :)</p>



<a name="194565811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565811">(Apr 18 2020 at 22:01)</a>:</h4>
<p>I guess i can take at <a href="https://github.com/rust-lang/rust/issues/260" title="https://github.com/rust-lang/rust/issues/260">#260</a> but i would need some help/mentoring if thats ok</p>



<a name="194565815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565815">(Apr 18 2020 at 22:01)</a>:</h4>
<p>of course</p>



<a name="194565819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565819">(Apr 18 2020 at 22:01)</a>:</h4>
<p>I'll write some more detailed notes on the issue</p>



<a name="194565821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565821">(Apr 18 2020 at 22:01)</a>:</h4>
<p>but tldr</p>



<a name="194565866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565866">(Apr 18 2020 at 22:02)</a>:</h4>
<p>We should need an integration-like test in <code>chalk-engine</code> where one of the the functions from <code>Context</code> panics</p>



<a name="194565878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565878">(Apr 18 2020 at 22:03)</a>:</h4>
<p>then need to check that you can still use that solver</p>



<a name="194565993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565993">(Apr 18 2020 at 22:06)</a>:</h4>
<p>Another good thing that you could work is to get this PR landed: <a href="https://github.com/rust-lang/chalk/pull/362" title="https://github.com/rust-lang/chalk/pull/362">https://github.com/rust-lang/chalk/pull/362</a></p>



<a name="194565996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565996">(Apr 18 2020 at 22:06)</a>:</h4>
<p>Which is adding tracing support</p>



<a name="194565999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194565999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194565999">(Apr 18 2020 at 22:06)</a>:</h4>
<p><span class="user-mention" data-user-id="198819">@David Barsky</span> got some infra in</p>



<a name="194566001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566001">(Apr 18 2020 at 22:06)</a>:</h4>
<p>but isn't going to be able to work on it for a bit</p>



<a name="194566008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566008">(Apr 18 2020 at 22:07)</a>:</h4>
<p>The nice thing about this issue would be that you're essentially touching all the debug/info points of chalk :)</p>



<a name="194566010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566010">(Apr 18 2020 at 22:07)</a>:</h4>
<p>so you can get a sense of where things are</p>



<a name="194566014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566014">(Apr 18 2020 at 22:07)</a>:</h4>
<p>And that also has some followup things to do too, if you're interested</p>



<a name="194566080"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566080" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566080">(Apr 18 2020 at 22:09)</a>:</h4>
<p>if <a href="https://github.com/rust-lang/rust/issues/260" title="https://github.com/rust-lang/rust/issues/260">#260</a> is quick enough them i'd lke to start with that and with the tracing stuff</p>



<a name="194566127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566127">(Apr 18 2020 at 22:10)</a>:</h4>
<p>in chalk-engine there are actually no tests, should I add it in <a href="http://context.rs" title="http://context.rs">context.rs</a>?</p>



<a name="194566136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566136">(Apr 18 2020 at 22:10)</a>:</h4>
<p>or more like a real integration tests in a <code>tests</code> directory?</p>



<a name="194566161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566161">(Apr 18 2020 at 22:11)</a>:</h4>
<p>Good question</p>



<a name="194566184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566184">(Apr 18 2020 at 22:11)</a>:</h4>
<p>So, I'm thinking this test might be with the rest of the tests</p>



<a name="194566188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566188">(Apr 18 2020 at 22:11)</a>:</h4>
<p>but maybe not</p>



<a name="194566189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566189">(Apr 18 2020 at 22:12)</a>:</h4>
<p>let me look</p>



<a name="194566229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566229">(Apr 18 2020 at 22:12)</a>:</h4>
<p>(I'm referring to <a href="https://github.com/rust-lang/chalk/tree/master/tests" title="https://github.com/rust-lang/chalk/tree/master/tests">https://github.com/rust-lang/chalk/tree/master/tests</a>)</p>



<a name="194566239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566239">(Apr 18 2020 at 22:13)</a>:</h4>
<p>that makes sense</p>



<a name="194566255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566255">(Apr 18 2020 at 22:13)</a>:</h4>
<p>Here's my thought process on this:</p>



<a name="194566300"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566300" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566300">(Apr 18 2020 at 22:14)</a>:</h4>
<p>It sort of makes sense to put tests here, because we can test panic safety not only of chalk-engine, but of the other crates too. And we don't have to mock/rewrite a <code>Context</code> (or <code>Interner</code> if we test more than the engine)</p>



<a name="194566306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566306">(Apr 18 2020 at 22:14)</a>:</h4>
<p>Ok</p>



<a name="194566314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566314">(Apr 18 2020 at 22:15)</a>:</h4>
<p>But putting the test there means we have a lot of "extra" stuff to worry about</p>



<a name="194566324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566324">(Apr 18 2020 at 22:15)</a>:</h4>
<p>And we would still have to add a way to force a panic somewhere</p>



<a name="194566399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566399">(Apr 18 2020 at 22:17)</a>:</h4>
<p>the current test framework is not really designed around being able to test this at all</p>



<a name="194566465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566465">(Apr 18 2020 at 22:18)</a>:</h4>
<p>and we don't actually need to do any "real" solving to test panic safety</p>



<a name="194566537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566537">(Apr 18 2020 at 22:20)</a>:</h4>
<p>Ok, so you might have to play around a bit with it</p>



<a name="194566539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566539">(Apr 18 2020 at 22:20)</a>:</h4>
<p>But here's where I would start:</p>



<a name="194566574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566574">(Apr 18 2020 at 22:21)</a>:</h4>
<p>Make a new directory here: <a href="https://github.com/rust-lang/chalk/tree/master/tests" title="https://github.com/rust-lang/chalk/tree/master/tests">https://github.com/rust-lang/chalk/tree/master/tests</a> for "integration" tests</p>



<a name="194566640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566640">(Apr 18 2020 at 22:22)</a>:</h4>
<p>Ok</p>



<a name="194566648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566648">(Apr 18 2020 at 22:22)</a>:</h4>
<p>Should probably hook into chalk-solve, so you'll have to write a mock <code>RustIrDatabase</code> (here's where the current <code>chalk-integration</code> one is impled: <a href="https://github.com/rust-lang/chalk/blob/master/chalk-integration/src/db.rs#L85" title="https://github.com/rust-lang/chalk/blob/master/chalk-integration/src/db.rs#L85">https://github.com/rust-lang/chalk/blob/master/chalk-integration/src/db.rs#L85</a>)</p>



<a name="194566660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566660">(Apr 18 2020 at 22:22)</a>:</h4>
<p><em>most</em> of those should be able to just stay <code>unimplemented!()</code></p>



<a name="194566669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566669">(Apr 18 2020 at 22:23)</a>:</h4>
<p>then, you'll want the actual test to:</p>



<a name="194566729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566729">(Apr 18 2020 at 22:24)</a>:</h4>
<p>1) Create a default solver <a href="https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/solve.rs#L236" title="https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/solve.rs#L236">https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/solve.rs#L236</a></p>



<a name="194566744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566744">(Apr 18 2020 at 22:25)</a>:</h4>
<p>2) Solve (<a href="https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/solve.rs#L272" title="https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/solve.rs#L272">https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/solve.rs#L272</a>) a super simple goal</p>



<a name="194566745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566745">(Apr 18 2020 at 22:25)</a>:</h4>
<p>Maybe something like</p>



<a name="194566792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566792">(Apr 18 2020 at 22:26)</a>:</h4>
<div class="codehilite"><pre><span></span>trait Foo {}
struct Bar {}
goal {
  Foo: Bar
}
</pre></div>



<a name="194566804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566804">(Apr 18 2020 at 22:27)</a>:</h4>
<p>(Note, I'm writing this as if it would get parsed with <code>test!</code>, but you'll want to write the lowered code directly</p>



<a name="194566811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566811">(Apr 18 2020 at 22:27)</a>:</h4>
<p>(Also note that this goal doesn't actually have a solution, that doesn't matter. Just trying to make the most minimal program possible)</p>



<a name="194566860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566860">(Apr 18 2020 at 22:28)</a>:</h4>
<p>Ok thank you for all the advises!</p>



<a name="194566863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566863">(Apr 18 2020 at 22:28)</a>:</h4>
<p>Then the first time you call <code>solve</code>, panic somewhere in the <code>RustIrDatabase</code> functions. Catch the panic. Then call solve a second time without panicing</p>



<a name="194566874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566874">(Apr 18 2020 at 22:29)</a>:</h4>
<p>Of course! Does this all make sense?</p>



<a name="194566876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566876">(Apr 18 2020 at 22:29)</a>:</h4>
<p>I'll be around if you have questions</p>



<a name="194566877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194566877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194566877">(Apr 18 2020 at 22:29)</a>:</h4>
<p>Yep! I guess i'll have more questions when actually doing it!</p>



<a name="194568305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194568305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194568305">(Apr 18 2020 at 23:08)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> so i have to implement a "new" solver?</p>



<a name="194568318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194568318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194568318">(Apr 18 2020 at 23:09)</a>:</h4>
<p>Nope, you can use the SLG solver in chalk-solve</p>



<a name="194568321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194568321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194568321">(Apr 18 2020 at 23:09)</a>:</h4>
<p>you <em>do</em> have to implement a new <code>RustIrDatabase</code></p>



<a name="194568372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194568372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194568372">(Apr 18 2020 at 23:10)</a>:</h4>
<p>yep ok</p>



<a name="194569989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194569989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194569989">(Apr 18 2020 at 23:56)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> whats the difference between a "program" and a "goal"?</p>



<a name="194570000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570000">(Apr 18 2020 at 23:56)</a>:</h4>
<p>so, program only exists in chalk-integration iirc</p>



<a name="194570010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570010">(Apr 18 2020 at 23:57)</a>:</h4>
<p>and it essentially just stores the traits/structs/etc.</p>



<a name="194570017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570017">(Apr 18 2020 at 23:57)</a>:</h4>
<p>goal is a specific thing we want to prove. e..g. <code>Foo: Bar</code></p>



<a name="194570028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570028">(Apr 18 2020 at 23:57)</a>:</h4>
<p>ok</p>



<a name="194570151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570151">(Apr 19 2020 at 00:00)</a>:</h4>
<p>So i don't know how to lower an entire goal yet. But i am trying to lower a "program" using a modified version of the lowering_success macro</p>



<a name="194570174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570174">(Apr 19 2020 at 00:01)</a>:</h4>
<p>the modified macro calls a <code>MockDatabase::with</code> which is copy pasted from <code>ChalkDatabase::with</code></p>



<a name="194570538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570538">(Apr 19 2020 at 00:10)</a>:</h4>
<p>but just the calls to <code>with</code> already go through a lot of the <code>unimplemented!()</code> method of my <code>MockDatabase</code>.</p>



<a name="194570554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570554">(Apr 19 2020 at 00:11)</a>:</h4>
<p>Am i doing it wrong? Or should I copy some methods from the <code>ChalkDatabase</code> to properly lower a program?</p>



<a name="194570986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194570986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194570986">(Apr 19 2020 at 00:22)</a>:</h4>
<p>Hmm, I don't think you need to call into a program</p>



<a name="194571073"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194571073" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194571073">(Apr 19 2020 at 00:24)</a>:</h4>
<p>well i am reading the solve_goal test function and it lowers a program then it lowers the goals then it solves the goal given a registered program in the db</p>



<a name="194571144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194571144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194571144">(Apr 19 2020 at 00:26)</a>:</h4>
<p>I have to get some sleep now, but ill continue tomorrow! Thank you for all the explanations</p>



<a name="194571203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194571203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194571203">(Apr 19 2020 at 00:28)</a>:</h4>
<p>right, but you should just be able to make the <code>UCanonicalGoalInEnvironment</code> directly</p>



<a name="194587918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194587918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194587918">(Apr 19 2020 at 09:21)</a>:</h4>
<p>I pushed my code to get some hep. Basically, i wanted to use convenience macro so that the tests kind of look like the others. But to make <code>checked_program</code> not panic, i had to provide an implementation of &lt;some&gt; methods of the database trait instead of just calling <code>unimplemented!()</code>: <a href="https://github.com/marmeladema/chalk/commit/a375b09e98be652662b472c672a2a200a746927f#diff-fd5ee0d09acd0abcbcae1874a9725e46R157" title="https://github.com/marmeladema/chalk/commit/a375b09e98be652662b472c672a2a200a746927f#diff-fd5ee0d09acd0abcbcae1874a9725e46R157">https://github.com/marmeladema/chalk/commit/a375b09e98be652662b472c672a2a200a746927f#diff-fd5ee0d09acd0abcbcae1874a9725e46R157</a></p>



<a name="194587960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194587960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194587960">(Apr 19 2020 at 09:22)</a>:</h4>
<p>But later on, <code>.solve()</code> doesnt panic and i don't really know how to force it to panic.</p>



<a name="194588037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194588037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194588037">(Apr 19 2020 at 09:24)</a>:</h4>
<p>I was thinking of adding a boolean flag into my mock database to enable/disable panic in some of the method. Would that do it?</p>



<a name="194588793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194588793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194588793">(Apr 19 2020 at 09:44)</a>:</h4>
<p>Probably, depending on where it panics the first time</p>



<a name="194591619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194591619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194591619">(Apr 19 2020 at 10:59)</a>:</h4>
<p>So this kind of work, expect that locking the solver inside the catch_unwind and panicking poisoned the lock, as expected, thus, i cannot unlock to relock it in order to try to solve another goal.</p>



<a name="194591680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194591680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194591680">(Apr 19 2020 at 11:00)</a>:</h4>
<p>to overcome that, i've locked outside of catch_unwind, but then i have to have <code>AssertUnwindSafe</code> and that kind of defeats the purpose of testing that the solver is unwind safe</p>



<a name="194591705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194591705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194591705">(Apr 19 2020 at 11:01)</a>:</h4>
<p><a href="https://github.com/marmeladema/chalk/commit/37d79baa41fd8d3a35d67a39087691c0e0a7fe50#diff-fd5ee0d09acd0abcbcae1874a9725e46R175" title="https://github.com/marmeladema/chalk/commit/37d79baa41fd8d3a35d67a39087691c0e0a7fe50#diff-fd5ee0d09acd0abcbcae1874a9725e46R175">https://github.com/marmeladema/chalk/commit/37d79baa41fd8d3a35d67a39087691c0e0a7fe50#diff-fd5ee0d09acd0abcbcae1874a9725e46R175</a></p>



<a name="194592752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194592752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194592752">(Apr 19 2020 at 11:24)</a>:</h4>
<p>(and by the way, i'll make <code>MockDatabase</code> a newtype over <code>ChalkIrDatabase</code> it makes more sense that just re-implementing one using copy paste)</p>



<a name="194596198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194596198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194596198">(Apr 19 2020 at 12:50)</a>:</h4>
<p>I made a PR to discuss the issue i am facing: <a href="https://github.com/rust-lang/chalk/pull/407" title="https://github.com/rust-lang/chalk/pull/407">https://github.com/rust-lang/chalk/pull/407</a></p>



<a name="194605059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194605059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194605059">(Apr 19 2020 at 16:10)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> i'd like to discuss what are our options here, because of the mutex, i am not sure a solver is actually unwind safe</p>



<a name="194605227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194605227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194605227">(Apr 19 2020 at 16:13)</a>:</h4>
<p>Just got on. Let me look at your commits</p>



<a name="194605909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194605909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194605909">(Apr 19 2020 at 16:25)</a>:</h4>
<p>Ok <span class="user-mention" data-user-id="281572">@marmeladema</span> left some comments</p>



<a name="194605922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194605922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194605922">(Apr 19 2020 at 16:25)</a>:</h4>
<p>let me know if those make sense</p>



<a name="194605926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194605926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194605926">(Apr 19 2020 at 16:25)</a>:</h4>
<p>or you need more details guidance</p>



<a name="194606546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194606546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194606546">(Apr 19 2020 at 16:36)</a>:</h4>
<p>It's also 100% possible that the solver isn't unwind safe</p>



<a name="194606557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194606557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194606557">(Apr 19 2020 at 16:37)</a>:</h4>
<p>In which case a test with a fixme is a good start. But it means there would be followup work to actually close the issue (i.e. make it unwind safe)</p>



<a name="194606886"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194606886" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194606886">(Apr 19 2020 at 16:42)</a>:</h4>
<p>I'll take a look at your comments, thanks!</p>



<a name="194607086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194607086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194607086">(Apr 19 2020 at 16:46)</a>:</h4>
<p>Ok, so I understand what you mean in the comments, but i don't know at all how to hard code the program and the goal</p>



<a name="194607204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194607204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194607204">(Apr 19 2020 at 16:48)</a>:</h4>
<p>And i have the feeling that it won't really help to solve the underlying problem, being that the solver is gated by a mutex and when you panic somewhere while its locked, then the mutex is poisoned and you can't use safely anymore.</p>



<a name="194607457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194607457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194607457">(Apr 19 2020 at 16:54)</a>:</h4>
<p>Unless i don't even implement the <code>LoweringDatabase</code> trait</p>



<a name="194608462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194608462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194608462">(Apr 19 2020 at 17:15)</a>:</h4>
<p>Right, we don't even have to implement <code>LoweringDatabase</code></p>



<a name="194608472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194608472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194608472">(Apr 19 2020 at 17:15)</a>:</h4>
<p>in fact, we shouldn't touch any <code>chalk-integration</code> code at all</p>



<a name="194608476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194608476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194608476">(Apr 19 2020 at 17:15)</a>:</h4>
<p>let me give an example of how to hard code the program and goal</p>



<a name="194608766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194608766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194608766">(Apr 19 2020 at 17:22)</a>:</h4>
<p>I might have a solution also</p>



<a name="194608779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194608779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194608779">(Apr 19 2020 at 17:23)</a>:</h4>
<p>But i feel like using a real underlying database is cleaner and more close to a real world example, especially in integration test, than mocking everything</p>



<a name="194609509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609509">(Apr 19 2020 at 17:42)</a>:</h4>
<p>Whatever the way i look at the problem, because the solve method takes a mutable reference to the solver, I am not sure it can be unwind safe</p>



<a name="194609542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609542">(Apr 19 2020 at 17:43)</a>:</h4>
<p>because you have to move the solver into the catch unwind closure and then you cannot get it back once it panicked</p>



<a name="194609702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609702">(Apr 19 2020 at 17:47)</a>:</h4>
<p>Well, everything in <code>chalk-integration</code> is just essentially a testing framework (and the cli)</p>



<a name="194609746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609746">(Apr 19 2020 at 17:48)</a>:</h4>
<p>It's not used when used as a library</p>



<a name="194609766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609766">(Apr 19 2020 at 17:48)</a>:</h4>
<p>So, we don't want to check if that is unwind safe or anything.</p>



<a name="194609793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609793">(Apr 19 2020 at 17:49)</a>:</h4>
<p>You should move the solver? It's just an <code>&amp;mut</code> ref</p>



<a name="194609840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609840">(Apr 19 2020 at 17:50)</a>:</h4>
<p>Yes but then you have lost it. Then you need to create new a one</p>



<a name="194609855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609855">(Apr 19 2020 at 17:50)</a>:</h4>
<p>Mmm no</p>



<a name="194609871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194609871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194609871">(Apr 19 2020 at 17:51)</a>:</h4>
<p>you cannot just move the &amp;mut ref, its not unwind safe, you have to move the entire solver into the closure</p>



<a name="194610042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610042">(Apr 19 2020 at 17:55)</a>:</h4>
<p>Hmm</p>



<a name="194610095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610095">(Apr 19 2020 at 17:56)</a>:</h4>
<p>I mean <code>assert_unwind_safe</code>?</p>



<a name="194610108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610108">(Apr 19 2020 at 17:56)</a>:</h4>
<p>hu? I'ive never heard of <code>assert_unwind_safe</code> sorry :/ Only of <code>AssertUnwindSafe</code></p>



<a name="194610445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610445">(Apr 19 2020 at 18:05)</a>:</h4>
<p>that's it</p>



<a name="194610534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610534">(Apr 19 2020 at 18:07)</a>:</h4>
<p>Well with <code>AssertUnwindSafe</code> you're telling the compiler that it should not care about unwind safety because you're telling that "its fine"</p>



<a name="194610547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610547">(Apr 19 2020 at 18:07)</a>:</h4>
<p>but it can be fine ... or not ..., you can do whatever you want</p>



<a name="194610548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610548">(Apr 19 2020 at 18:07)</a>:</h4>
<p>mmm</p>



<a name="194610554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610554">(Apr 19 2020 at 18:07)</a>:</h4>
<p>let me play around with this a bit</p>



<a name="194610555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194610555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194610555">(Apr 19 2020 at 18:07)</a>:</h4>
<p>give me a couple minutes</p>



<a name="194612114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612114">(Apr 19 2020 at 18:45)</a>:</h4>
<p>Ok <span class="user-mention" data-user-id="281572">@marmeladema</span> my couple minutes are up</p>



<a name="194612116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612116">(Apr 19 2020 at 18:45)</a>:</h4>
<p>Here's what I've come up with: <a href="https://github.com/jackh726/chalk/commit/5f0c038ebaccfe3994a7aa98390cb841fdbbfee0" title="https://github.com/jackh726/chalk/commit/5f0c038ebaccfe3994a7aa98390cb841fdbbfee0">https://github.com/jackh726/chalk/commit/5f0c038ebaccfe3994a7aa98390cb841fdbbfee0</a></p>



<a name="194612125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612125">(Apr 19 2020 at 18:45)</a>:</h4>
<p>I think this is failing because the solver isn't unwind safe :)</p>



<a name="194612183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612183">(Apr 19 2020 at 18:46)</a>:</h4>
<p>(also btw it's @rustbot claim)</p>



<a name="194612442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612442">(Apr 19 2020 at 18:53)</a>:</h4>
<p>Well, it _cannot_ be unwind safe because the solver takes a &amp;mut ref for the solve method</p>



<a name="194612446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612446">(Apr 19 2020 at 18:53)</a>:</h4>
<p>You just bypassed the compiler using <code>AssertUnwindSafe</code></p>



<a name="194612823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612823">(Apr 19 2020 at 19:01)</a>:</h4>
<p>that's fine</p>



<a name="194612909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194612909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194612909">(Apr 19 2020 at 19:03)</a>:</h4>
<p>We could just as easily use an <code>Arc</code> or something</p>



<a name="194613589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194613589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194613589">(Apr 19 2020 at 19:18)</a>:</h4>
<p>not really, because if you use interior mutability the compiler will notice it and won't let you do it :)</p>



<a name="194613657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194613657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194613657">(Apr 19 2020 at 19:20)</a>:</h4>
<p>But anyway, you fixed the issue yourself, it seems :p i am fine trying another one later on</p>



<a name="194613697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194613697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194613697">(Apr 19 2020 at 19:20)</a>:</h4>
<p>Well, not exactly</p>



<a name="194613710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194613710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194613710">(Apr 19 2020 at 19:21)</a>:</h4>
<p>This is maybe enough to add as a failing test</p>



<a name="194613713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194613713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194613713">(Apr 19 2020 at 19:21)</a>:</h4>
<p>but not enough to close the issue</p>



<a name="194613714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194613714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194613714">(Apr 19 2020 at 19:21)</a>:</h4>
<p>because this fails</p>



<a name="194614223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194614223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194614223">(Apr 19 2020 at 19:32)</a>:</h4>
<p>Yes because the solver failed to find a solution a believe</p>



<a name="194614233"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194614233" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194614233">(Apr 19 2020 at 19:33)</a>:</h4>
<p>if you keep my patch version by just adding <code>AssertUnwindSafe</code> you'll see it works fine</p>



<a name="194614238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194614238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194614238">(Apr 19 2020 at 19:33)</a>:</h4>
<p>or change your version with <code>is_none</code> instead of <code>is_some</code> at the end</p>



<a name="194614883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194614883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194614883">(Apr 19 2020 at 19:48)</a>:</h4>
<p>hum no you are right it does not work</p>



<a name="194614919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194614919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194614919">(Apr 19 2020 at 19:49)</a>:</h4>
<p>ah no i think i know why</p>



<a name="194615062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194615062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194615062">(Apr 19 2020 at 19:52)</a>:</h4>
<p>Yeah, I mean, it <em>should</em> right now fail at an <code>unimplemented!()</code> call</p>



<a name="194615081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194615081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194615081">(Apr 19 2020 at 19:53)</a>:</h4>
<p>I think it's failing because it's panic after the table is created, but before the strands have been added</p>



<a name="194615085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194615085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194615085">(Apr 19 2020 at 19:53)</a>:</h4>
<p>thus, no strands :)</p>



<a name="194616315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194616315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194616315">(Apr 19 2020 at 20:21)</a>:</h4>
<p>Hum ok, i'll look for what a strand is ^^</p>



<a name="194616422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194616422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194616422">(Apr 19 2020 at 20:24)</a>:</h4>
<p>start here: <a href="https://github.com/rust-lang/chalk/blob/master/chalk-engine/src/logic.rs#L260" title="https://github.com/rust-lang/chalk/blob/master/chalk-engine/src/logic.rs#L260">https://github.com/rust-lang/chalk/blob/master/chalk-engine/src/logic.rs#L260</a></p>



<a name="194616436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194616436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194616436">(Apr 19 2020 at 20:25)</a>:</h4>
<p>or actually here: <a href="https://github.com/rust-lang/chalk/blob/master/chalk-engine/src/logic.rs#L225" title="https://github.com/rust-lang/chalk/blob/master/chalk-engine/src/logic.rs#L225">https://github.com/rust-lang/chalk/blob/master/chalk-engine/src/logic.rs#L225</a></p>



<a name="194616440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/194616440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#194616440">(Apr 19 2020 at 20:25)</a>:</h4>
<p>importantly, we insert a table <em>then</em> push the strands</p>



<a name="195158975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195158975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195158975">(Apr 24 2020 at 08:30)</a>:</h4>
<p>I don't think I can make significant progress on this issue. I don't know enough of the internals of chalk to be really helpful :/</p>



<a name="195159222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195159222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195159222">(Apr 24 2020 at 08:34)</a>:</h4>
<p>But if there is some mechanical change that need to be done elsewhere i can probably help. If there is an example PR to follow / reproduce / adapt that'd be even easier</p>



<a name="195184495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195184495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195184495">(Apr 24 2020 at 13:04)</a>:</h4>
<p>Well, I wanted to do this myself, but it's probably a good beginner issue</p>



<a name="195185309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195185309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195185309">(Apr 24 2020 at 13:12)</a>:</h4>
<p><span class="user-mention" data-user-id="281572">@marmeladema</span> with a recent pr landed, we now have scalar types and tuples, but <code>Sized</code>, <code>Copy</code> and <code>Clone</code> builtin impls were not extended to cover them. The relevant chalk code is in <code>chalk-solve\builitin_traits.rs</code>. The relevant rustc code is in <code>librustc_trait_selection\traits\select.rs</code>.</p>



<a name="195185419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195185419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195185419">(Apr 24 2020 at 13:13)</a>:</h4>
<p>If you have any questions, ask me</p>



<a name="195214905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195214905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195214905">(Apr 24 2020 at 16:47)</a>:</h4>
<p>Yeah, that's a good issue to take on :)</p>



<a name="195214913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195214913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195214913">(Apr 24 2020 at 16:47)</a>:</h4>
<p>Thanks <span class="user-mention" data-user-id="251766">@Areredify</span></p>



<a name="195215082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195215082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195215082">(Apr 24 2020 at 16:49)</a>:</h4>
<p><span class="user-mention" data-user-id="281572">@marmeladema</span> Thanks for the work you did anyways :) I'll spend some time at some point to see if I can get the test passing, easily. Or if not, I'll just merge with a FIXME</p>



<a name="195280131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280131">(Apr 25 2020 at 11:08)</a>:</h4>
<p><span class="user-mention" data-user-id="251766">@Areredify</span> i tried something for the Sized trait: <a href="https://github.com/rust-lang/chalk/compare/master...marmeladema:sized-for-scalar-and-tuple?expand=1" title="https://github.com/rust-lang/chalk/compare/master...marmeladema:sized-for-scalar-and-tuple?expand=1">https://github.com/rust-lang/chalk/compare/master...marmeladema:sized-for-scalar-and-tuple?expand=1</a></p>



<a name="195280141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280141">(Apr 25 2020 at 11:09)</a>:</h4>
<p>I am not sure of what i am doing :D Basically, i just moved the code to handle struct type in a separate function for clarity and handled the scalar types by saying that scalar are always Sized</p>



<a name="195280148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280148">(Apr 25 2020 at 11:09)</a>:</h4>
<p>For tuple, i am not sure. I guess its Sized of all items are Sized, but it might not even be possible to have an unSized item actually so it might be always Sized also?</p>



<a name="195280194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280194">(Apr 25 2020 at 11:10)</a>:</h4>
<p>(and maybe everything I say does not mean anything ^^)</p>



<a name="195280835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280835">(Apr 25 2020 at 11:27)</a>:</h4>
<p>You are on the right track <span aria-label="upside down" class="emoji emoji-1f643" role="img" title="upside down">:upside_down:</span> . <a href="https://github.com/rust-lang/rust/blob/a58b1ed44f5e06976de2bdc4d7dc81c36a96934f/src/librustc_trait_selection/traits/select.rs#L2132" title="https://github.com/rust-lang/rust/blob/a58b1ed44f5e06976de2bdc4d7dc81c36a96934f/src/librustc_trait_selection/traits/select.rs#L2132">https://github.com/rust-lang/rust/blob/a58b1ed44f5e06976de2bdc4d7dc81c36a96934f/src/librustc_trait_selection/traits/select.rs#L2132</a> is the rustc implementation of the same thing. Basically, for structs (which are already implemented) and tuples you need the push the constraint on the last field, and for scalars you need to say that they are sized (which you did).</p>



<a name="195280845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280845">(Apr 25 2020 at 11:27)</a>:</h4>
<p>Hmm, is my link too long</p>



<a name="195280846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280846">(Apr 25 2020 at 11:27)</a>:</h4>
<p>Whatever</p>



<a name="195280887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280887">(Apr 25 2020 at 11:28)</a>:</h4>
<p>Ok i am glad i understood well. I added tests for scalars and it works :D Fur tuples i am bit lost because it TypeName::Tuple hold a usize</p>



<a name="195280891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280891">(Apr 25 2020 at 11:28)</a>:</h4>
<p>I don't know how to look at the last field of the tuple</p>



<a name="195280893"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280893" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280893">(Apr 25 2020 at 11:28)</a>:</h4>
<p>Yes, the types in a tuple are contained in the substitution</p>



<a name="195280907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195280907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195280907">(Apr 25 2020 at 11:29)</a>:</h4>
<p>so you need to get the last element of it to get the last field of the tuple</p>



<a name="195281543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195281543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195281543">(Apr 25 2020 at 11:50)</a>:</h4>
<p><span class="user-mention" data-user-id="251766">@Areredify</span> i am not sure how to write tests for tuples. I tried something like <code>type S&lt;T&gt; = (T, T);</code> but its not valid syntax</p>



<a name="195281547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195281547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195281547">(Apr 25 2020 at 11:50)</a>:</h4>
<p>Should i use newtype struct syntax like <code>struct MyTuple&lt;T&gt;(T, T);</code>?</p>



<a name="195281550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195281550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195281550">(Apr 25 2020 at 11:51)</a>:</h4>
<p>I am not sure type aliases are a thing?</p>



<a name="195281610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195281610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195281610">(Apr 25 2020 at 11:52)</a>:</h4>
<p>Not in items, that is</p>



<a name="195281613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195281613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195281613">(Apr 25 2020 at 11:53)</a>:</h4>
<p>What I would do is have a struct with a tuple field</p>



<a name="195281616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195281616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195281616">(Apr 25 2020 at 11:53)</a>:</h4>
<p>Ok that is what i was about to try!</p>



<a name="195282138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282138">(Apr 25 2020 at 12:08)</a>:</h4>
<p>I don't know what i am doing wrong whatever i try i get a <code>type declaration </code>S<code> does not meet well-formedness requirements</code> when I use a tuple field in a struct</p>



<a name="195282145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282145">(Apr 25 2020 at 12:09)</a>:</h4>
<p>even simple</p>
<div class="codehilite"><pre><span></span>struct S {
                t: (u8, u8)
            }
</pre></div>



<a name="195282387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282387">(Apr 25 2020 at 12:14)</a>:</h4>
<p>Push the changes so I can see them</p>



<a name="195282533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282533">(Apr 25 2020 at 12:18)</a>:</h4>
<p>i've updated the branch</p>



<a name="195282539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282539">(Apr 25 2020 at 12:19)</a>:</h4>
<p>my code for tuple is not even called</p>



<a name="195282847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282847">(Apr 25 2020 at 12:26)</a>:</h4>
<p>So <code>struct_sized_constraint</code> starts with </p>
<div class="codehilite"><pre><span></span>        if fields.len() &lt;= 1 {
            return None;
        }
</pre></div>



<a name="195282852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282852">(Apr 25 2020 at 12:27)</a>:</h4>
<p>Its like struct with only one field can never be well formed?</p>



<a name="195282854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282854">(Apr 25 2020 at 12:27)</a>:</h4>
<p>No, it means that you don't need to prove it</p>



<a name="195282859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282859">(Apr 25 2020 at 12:27)</a>:</h4>
<p>ok</p>



<a name="195282907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282907">(Apr 25 2020 at 12:28)</a>:</h4>
<p>It returns an optional goal to be proven for struct to be well-formed in terms of the trait, None means you don't need to prove anything</p>



<a name="195282914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282914">(Apr 25 2020 at 12:29)</a>:</h4>
<p>It's counterpart is Some(CannotProve(())), which means it can't be well-formed</p>



<a name="195282920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282920">(Apr 25 2020 at 12:29)</a>:</h4>
<p>ok! I thought that you always had to look at the last field of a struct to prove its Sized or not</p>



<a name="195282925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282925">(Apr 25 2020 at 12:29)</a>:</h4>
<p>(expect empty struct which is always Sized)</p>



<a name="195282972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282972">(Apr 25 2020 at 12:30)</a>:</h4>
<p>So for a strut with one field, you still had to prove that one field was sized</p>



<a name="195282973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282973">(Apr 25 2020 at 12:30)</a>:</h4>
<p>Yes</p>



<a name="195282979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282979">(Apr 25 2020 at 12:31)</a>:</h4>
<p>The code in <code>struct_sized_constraint</code> is about the struct being well-formed, not proving Sized for it</p>



<a name="195282981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195282981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195282981">(Apr 25 2020 at 12:31)</a>:</h4>
<p>oh ok sorry</p>



<a name="195283055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283055">(Apr 25 2020 at 12:33)</a>:</h4>
<p>Ok so:</p>
<div class="codehilite"><pre><span></span>struct S {
                t: u8
            }
</pre></div>


<p>=&gt; well formed</p>
<div class="codehilite"><pre><span></span>struct S {
                t: (u8, u8)
            }
</pre></div>


<p>=&gt; not well formed</p>



<a name="195283059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283059">(Apr 25 2020 at 12:33)</a>:</h4>
<p>thats what is happening in my branch</p>



<a name="195283285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283285">(Apr 25 2020 at 12:40)</a>:</h4>
<p>Hmm</p>



<a name="195283290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283290">(Apr 25 2020 at 12:41)</a>:</h4>
<p>I don't think any tuples are well-formed</p>



<a name="195283296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283296">(Apr 25 2020 at 12:41)</a>:</h4>
<p>Which is a shame</p>



<a name="195283340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283340">(Apr 25 2020 at 12:42)</a>:</h4>
<p>i've done some printing and<br>
<code>toto: 2&lt;Uint(U8), Uint(U8)&gt; / WellFormed(2&lt;Uint(U8), Uint(U8)&gt;)</code></p>



<a name="195283423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283423">(Apr 25 2020 at 12:44)</a>:</h4>
<p>Ok, tuples are not well-formed</p>



<a name="195283446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283446">(Apr 25 2020 at 12:45)</a>:</h4>
<p>Ok! I should probably work on that first then?</p>



<a name="195283450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283450">(Apr 25 2020 at 12:45)</a>:</h4>
<p>In that case, I would do </p>
<div class="codehilite"><pre><span></span>test! {
        program {
            #[lang(sized)]
            trait Sized { }

            trait Copy {}
        }

        goal {
            (u8, dyn Copy): Sized
        } yields {
            &quot;No possible solution&quot;
        }

        goal {
            (u8, u8): Sized
        } yields {
            &quot;Unique; substitution [], lifetime constraints []&quot;
        }
    }
</pre></div>



<a name="195283499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283499">(Apr 25 2020 at 12:46)</a>:</h4>
<p>No, tuple well-formedness is a design question and out of scope of this pr</p>



<a name="195283503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283503">(Apr 25 2020 at 12:46)</a>:</h4>
<p>huhu ok</p>



<a name="195283738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283738">(Apr 25 2020 at 12:53)</a>:</h4>
<p><span class="user-mention" data-user-id="251766">@Areredify</span> so should I really only look at the last element of the tuple? or because tuples are not well-formed i should look at all elements?</p>



<a name="195283746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283746">(Apr 25 2020 at 12:53)</a>:</h4>
<p>You should only look at the last element</p>



<a name="195283800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283800">(Apr 25 2020 at 12:55)</a>:</h4>
<p>Ok. So <code>(dyn Copy, u8): Sized</code> should yield <code>"Unique; substitution [], lifetime constraints []"</code></p>



<a name="195283859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283859">(Apr 25 2020 at 12:56)</a>:</h4>
<p>It should right now, but you shouldn't add a test like that <span aria-label="upside down" class="emoji emoji-1f643" role="img" title="upside down">:upside_down:</span></p>



<a name="195283930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195283930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195283930">(Apr 25 2020 at 12:59)</a>:</h4>
<p>isnt is better to have a test with a comment that says maybe it should be looked at / fixed later than not having a test at all?</p>



<a name="195284166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195284166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195284166">(Apr 25 2020 at 13:05)</a>:</h4>
<p>Anyway feel free to comment on <a href="https://github.com/rust-lang/chalk/pull/413" title="https://github.com/rust-lang/chalk/pull/413">https://github.com/rust-lang/chalk/pull/413</a></p>



<a name="195284243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195284243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195284243">(Apr 25 2020 at 13:07)</a>:</h4>
<p>I don't know, I feel like it's going to get resolved anyway so the test is not really necessary, I guess we'll just ask niko :P</p>



<a name="195284352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195284352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195284352">(Apr 25 2020 at 13:10)</a>:</h4>
<p>I don't exactly know what are the rules for the chalk repo, shall i ask bors a review from niko?</p>



<a name="195284420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195284420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195284420">(Apr 25 2020 at 13:12)</a>:</h4>
<p>Niko typically reviews all logic-related prs anyway</p>



<a name="195284451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195284451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195284451">(Apr 25 2020 at 13:13)</a>:</h4>
<p>Ok ok not touching anything then</p>



<a name="195290174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195290174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195290174">(Apr 25 2020 at 15:45)</a>:</h4>
<p>Some days ago Niko commented, if I understood correctly, that tuples are well formed by definition, as they're externally provided (by rustc). I can't remember if that was in a chat with <span class="user-mention" data-user-id="125131">@detrumi</span> or <span class="user-mention" data-user-id="232957">@Jack Huey</span></p>



<a name="195290195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195290195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195290195">(Apr 25 2020 at 15:45)</a>:</h4>
<p><span class="user-mention" data-user-id="251766">@Areredify</span> <span class="user-mention" data-user-id="281572">@marmeladema</span> ^^</p>



<a name="195290254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195290254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195290254">(Apr 25 2020 at 15:47)</a>:</h4>
<p>That's what I remembered as well, but as of now, they are not implemented to be well-formed</p>



<a name="195290468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195290468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195290468">(Apr 25 2020 at 15:53)</a>:</h4>
<p>Then maybe it was you! :-(•‿•)</p>



<a name="195293507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195293507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195293507">(Apr 25 2020 at 17:05)</a>:</h4>
<p>Tuples are always well formed</p>



<a name="195293511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195293511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195293511">(Apr 25 2020 at 17:05)</a>:</h4>
<p>In master, this isn't the case</p>



<a name="195293551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195293551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195293551">(Apr 25 2020 at 17:06)</a>:</h4>
<p>I made a PR to fix this</p>



<a name="195293587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195293587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195293587">(Apr 25 2020 at 17:06)</a>:</h4>
<p><a href="https://github.com/rust-lang/chalk/pull/411" title="https://github.com/rust-lang/chalk/pull/411">https://github.com/rust-lang/chalk/pull/411</a></p>



<a name="195293681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195293681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195293681">(Apr 25 2020 at 17:08)</a>:</h4>
<p>But, the <code>Sized</code> question is a good one</p>



<a name="195293866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195293866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195293866">(Apr 25 2020 at 17:13)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281572">marmeladema</span> <a href="#narrow/stream/144729-wg-traits/topic/New.20contributor/near/195283800" title="#narrow/stream/144729-wg-traits/topic/New.20contributor/near/195283800">said</a>:</p>
<blockquote>
<p>Ok. So <code>(dyn Copy, u8): Sized</code> should yield <code>"Unique; substitution [], lifetime constraints []"</code></p>
</blockquote>
<p>Always feel free to add tests :)</p>



<a name="195294016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195294016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195294016">(Apr 25 2020 at 17:17)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281572">marmeladema</span> <a href="#narrow/stream/144729-wg-traits/topic/New.20contributor/near/195281543" title="#narrow/stream/144729-wg-traits/topic/New.20contributor/near/195281543">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="251766">Areredify</span> i am not sure how to write tests for tuples. I tried something like <code>type S&lt;T&gt; = (T, T);</code> but its not valid syntax</p>
</blockquote>
<p>There are opaque types now. See <a href="https://github.com/rust-lang/chalk/blob/master/tests/test/existential_types.rs#L12" title="https://github.com/rust-lang/chalk/blob/master/tests/test/existential_types.rs#L12">https://github.com/rust-lang/chalk/blob/master/tests/test/existential_types.rs#L12</a></p>



<a name="195294023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195294023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195294023">(Apr 25 2020 at 17:17)</a>:</h4>
<p>The syntax is a bit different <code>opaque type S&lt;T&gt; = (T, T);</code></p>



<a name="195295531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195295531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195295531">(Apr 25 2020 at 17:55)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> in the PR i added tests that should not pass on purpose, so that they fail and we have to fix them when tuples will be well formed</p>



<a name="195295589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195295589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195295589">(Apr 25 2020 at 17:56)</a>:</h4>
<p>Yes I figured :)</p>



<a name="195295634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195295634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195295634">(Apr 25 2020 at 17:57)</a>:</h4>
<p>Oh ok I thought you wanted me to remove them, sorry, I misunderstood.</p>



<a name="195295778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195295778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195295778">(Apr 25 2020 at 18:01)</a>:</h4>
<p>Sorry, I should have been a bit more clear. I think for now it's fine. But we need to get the WF for tuples fixed</p>



<a name="195295933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195295933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195295933">(Apr 25 2020 at 18:05)</a>:</h4>
<p>I started to take a look at Copy and Clone but i have questions. Right now, every type that is copy is cloned in chalk (and only Function is copy as of today). I guess all scalars are copy? Even "big" one like u128?</p>



<a name="195295953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195295953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195295953">(Apr 25 2020 at 18:05)</a>:</h4>
<p>But some types can be clone, but can't be copy because they are too big right?</p>



<a name="195296010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296010">(Apr 25 2020 at 18:06)</a>:</h4>
<p>Yes</p>



<a name="195296099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296099">(Apr 25 2020 at 18:09)</a>:</h4>
<p>Ok thanks and how would I check that size of such type? I mean can chalk _know_ the size of a type? Doesn't it depend on the compiler decision about layout etc?</p>



<a name="195296171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296171">(Apr 25 2020 at 18:10)</a>:</h4>
<p>Uh, we don't need to know the size</p>



<a name="195296188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296188">(Apr 25 2020 at 18:11)</a>:</h4>
<p>For reference, these were the Copy/Clone rules for the old chalk integration: <a href="https://github.com/rust-lang/rust/blob/21affdd00d52fba6388f1858a52c253b3f83a90d/src/librustc_traits/chalk_context/program_clauses/builtin.rs#L215" title="https://github.com/rust-lang/rust/blob/21affdd00d52fba6388f1858a52c253b3f83a90d/src/librustc_traits/chalk_context/program_clauses/builtin.rs#L215">https://github.com/rust-lang/rust/blob/21affdd00d52fba6388f1858a52c253b3f83a90d/src/librustc_traits/chalk_context/program_clauses/builtin.rs#L215</a></p>



<a name="195296195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296195">(Apr 25 2020 at 18:11)</a>:</h4>
<p>the same rules for the current solver can be found somewhere, I just don't remember where right now</p>



<a name="195296318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296318">(Apr 25 2020 at 18:14)</a>:</h4>
<p>I think its in librustc_trait_selection/traits/select.rs?</p>



<a name="195296352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296352">(Apr 25 2020 at 18:15)</a>:</h4>
<p>sounds right</p>



<a name="195296414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296414">(Apr 25 2020 at 18:17)</a>:</h4>
<p>For scalar its mentioned that <code>// Implementations provided in libcore</code>. But in chalk we should say all scalar are copy right? And tuples are copy if all elements are copy?</p>



<a name="195296523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296523">(Apr 25 2020 at 18:19)</a>:</h4>
<p>That's a good question for <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="195296526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195296526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195296526">(Apr 25 2020 at 18:19)</a>:</h4>
<p>I <em>think</em> we want to say that, yes</p>



<a name="195297322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195297322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195297322">(Apr 25 2020 at 18:40)</a>:</h4>
<p>I added another commit for copy/clone then</p>



<a name="195297445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195297445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195297445">(Apr 25 2020 at 18:45)</a>:</h4>
<p>I'll take a look</p>



<a name="195298319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195298319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195298319">(Apr 25 2020 at 19:08)</a>:</h4>
<p>No, we don't need to provide impls for scalars, they are indeed provided explicitly</p>



<a name="195298396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195298396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Areredify <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195298396">(Apr 25 2020 at 19:10)</a>:</h4>
<p>I don't think we should make scalars copy in chalk, there is no reason Copy to be a special trait in that regard</p>



<a name="195298855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195298855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195298855">(Apr 25 2020 at 19:22)</a>:</h4>
<p>so only for tuple?</p>



<a name="195298931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195298931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195298931">(Apr 25 2020 at 19:24)</a>:</h4>
<p>I think so for now then</p>



<a name="195305903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195305903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195305903">(Apr 25 2020 at 22:36)</a>:</h4>
<p>Ok i've removed scalars :)</p>



<a name="195634374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195634374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195634374">(Apr 28 2020 at 22:10)</a>:</h4>
<p>My first chalk PR has been merged <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span></p>



<a name="195634399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195634399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195634399">(Apr 28 2020 at 22:10)</a>:</h4>
<p>Is there any "easy" task remaining about builtin traits?</p>



<a name="195635872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/New%20contributor/near/195635872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/New.20contributor.html#195635872">(Apr 28 2020 at 22:23)</a>:</h4>
<p><span class="user-mention" data-user-id="281572">@marmeladema</span> did you see the issue I wrote about documenting the behavior and status?</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>